# Cysic Network Litepaper
## TL;DR
Cysic Network represents a dynamic protocol offering one-stop zero-knowledge proving and verification functionalities. It facilitates a rewarding ecosystem where participants can earn rewards by contributing computing power to the protocol, staking, and participating in governance.
## Introduction
Zero-knowledge proof (ZKP) is a cryptographic concept that allows one party (the prover) to demonstrate the truth of a statement to another party (the verifier) without revealing any additional information beyond the validity of the statement itself. This concept was first introduced by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in 1985.
The core idea behind ZKPs is to enable succinct and private verification of claims, protecting the sensitive information of the prover. ZKPs have various applications in the crypto space, such as constructing a private blockchain, improving the throughput of layer-1 blockchains, and enabling communication between two separate blockchains. Nonetheless, ZKP is not without its limitations, as the process of generating proofs can be extremely resource-intensive in terms of both time and energy. The creation of proofs is often slowed down by the need for numerous complex mathematical operations, such as exponentiation, inversion, and polynomial multiplication, and massive data movement. To overcome these issues for all proposed ZKP constructions, it is of utmost importance to develop hardware acceleration methods using Graphical Processing Units (GPUs) and Application Specific Integrated Circuits (ASICs). This intensive computational demand of ZKPs is reminiscent of the Bitcoin (or other altcoins) mining scenarios, which draw a lot of criticism for being centralized and energy consuming.
Cysic Network aims to provide proving and settlement related to ZK proofs to all ZK projects. The goal of the network is to cultivate a sustainable environment for ZK proof generation and verification by addressing the following two major problems:
- Prover Decentralization: The concept of decentralized provers offers a robust solution to prevent a single point of failure for ZK projects, simultaneously improving the efficiency and cost-effectiveness of proof generation. This design principle is inherently incorporated into all Layer 1 and Layer 2 ZK projects, reflecting the decentralized ethos prevalent within the blockchain community.
- Latency and high cost in ZK proof settlement: Ethereum has high cost and latency to get ZK proofs settled. The current solution is to aggregate multiple proofs, then settle this aggregated proof on Ethereum, which somehow reduces the gas fee needed to verify the proof, but increases the waiting time. The ZK proof settlement indeed is a nearly stateless process, so it can be done outside Ethereum.
Cysic Network provides a satisfying solution to both problems. In the following sections, we show the technical overview and tokenomics of Cysic network.
## Technical Overview
Cysic Network provides a one-stop solution for both proof generation and verification for zero-knowledge proofs. It allows participants to use their hardware, both strong and weak, to contribute to the protocol and, in return earn rewards from different ZK projects. The workflow for a proof task is shown in the following figure:
![](https://hackmd.io/_uploads/rJgyGnS4A.png)
In the workflow, several provers are chosen to compute the proof task, which is then verified by validators. The status change of the task is recorded using a blockchain. There are three categories of participants in the network:
- Agents: The agents’ job is to relay the proving task from the ZK projects to the network and then send back some necessary information to the ZK projects. The agents will be run by Cysic in the beginning. Gradually, the job of posting proof tasks in the Cysic Network will be permissionless with the necessary token guarantee.
- Provers: The provers are doing the heavy lifting work, i.e., generating ZK proofs using powerful hardware like GPUs and ASICs. The provers need to stake a certain amount of $Token to get the proving tasks and will be rewarded for generating valid ZK proofs. The reward is distributed in $Token within a fixed time period.
- Validators committee members (VCM): The VCMs’ job is to check the validity of the proof generated by the provers and also submit and vote on governance proposals. Due to the succinctness of ZKP, the hardware used by the validators can be much weaker than that used by the provers. If a proof is voted valid by more than a certain number of validators, the proof is treated as settled in the chain. The validators will be rewarded by verifying proofs and be integrated with the restaking community. To be eligible to participate in the VCM, the entity needs to stake their $Token token, where the voting power is proportional to the staked tokens.
The architecture of the system is as follows.
![arch](https://hackmd.io/_uploads/B1inM2HNA.png)
When the VCM of Cysic Network decides to provide computing power for a ZK project, this project lists its proof task parameters, such as proof backend, latency requirement, reward pool address, proof DA information, and others on the chain. Whenever a ZK project publishes a task, the task, together with the information about the ZK project, is recorded as a transaction on the blockchain. Then, several provers are chosen based on their reputation and availability to compute this task and then store the proof in the proof DA layer, where another transaction is created to track the status of the proof task. Next, the several validators are chosen to verify the validity of the proof. When the number of verification votes exceeds a fixed threshold, the specific proof task is finished. The ZK project can read the proof and its associated information from the proof DA layer and the chain, respectively.
We adopt a new consensus design, called Proof of Compute (PoC), which essentially is a probabilistic, Byzantine fault-tolerant consensus protocol. Simply put, PoC achieves consensus by running a secret, fair and verifiable leader election for every epoch, where a number of participants may become eligible to submit a block to the chain based on fair and publicly-verifiable criteria. The consensus design achieves a balance of efficiency, fairness and decentralization.
The blockchain is divided into epochs, where each epoch contains a fixed number of blocks. To achieve consensus for each epoch, the provers do the following:
1. Given a puzzle based on last epoch, the provers compete to solve it in order to form a committee. The committee contains a certain number of the fastest provers, who are responsible for proposing blocks within this epoch.
2. After the committee is formed, the consensus within this epoch is achieved using the built-in PoS consensus mechanism in Cosmos SDK, where the stake is restricted to the committee members.
Cysic Network is an EVM-compatible blockchain built upon the Cosmos SDK, which allows it to be compatible with different clients, data layers, and more. We aim to bring the testnet online in Q3 2024 with some centralized functionalities and gradually decentralize it.
## Tokenomics and Governance
**Token Functionalities.** The goal of Cysic Network is to establish a decentralized and reliable proving/verification service that fosters community growth and self-sustainability. The $Token token will be utilized to incentivize provers, validators, and agents in the protocol, which establishes an effective governance and reward distribution mechanism.
Cysic Network uses a dual-token mechanism, namely $Token and $veToken (governance token). Each token plays a specific role in the network and together builds the Cysic Network ecosystem:
- $Token: $Token is the native token of Cysic Network and is used to pay transaction gas fees, block rewards, and escrow rewards. $Token maintains the liveness and vitality of the network through the gas fee mechanism and is one of the incentives for users to participate in network activities.
- $veToken: $veToken is the governance token and is non-transferable. $veToken can be obtained by escrowing $Token. The voting power of a user is proportional to the amount and escrow time of $veToken.
The dual-token model is illustrated in the following:
![token](https://hackmd.io/_uploads/SkR54hSE0.png)
The provers/verifiers contribute their computation power to the pool, which in turn provides services to various ZK projects. Meanwhile, in addition to the blockchain rewards from Cysic Network, users can buy $Token and then escrow the token to obtain the voting power to govern the computation pool. The distribution of the computation power can be dynamically adjusted based on several key factors, with the token reward return provided by the ZK projects being one of the factors.
**Token Supply and Emission.** Cysic Network implements an inflationary mechanism to issue tokens and motivate participation in the network. This could be achieved through the release of new $Token according to an appropriate inflation rate that is distributed to provers and community members. The inflation rate is dynamically adjusted based on the macroeconomic environment, activities among various ZKP projects, and participation in the Cysic Network.
Cysic Network will also introduce a token burning mechanism in the future, which essentially means the protocol will buy back the tokens to maintain a stable supply and demand of tokens and activities. This will dynamically adjust the inflation or deflation economic cycle and help maintain scarcity and sustain the value of the remaining tokens.
**Staking and Governance.** The protocol requires provers/verifiers to stake some $Token initially to defend against malicious behaviors. All eligible computing providers can connect to Cysic Network, by staking a certain amount of $Token as collateral to maintain the reliability and sustainability of the network service. The staked $Token will have a base lockup period of 6 months and can be extended to participate in reward distribution.
Governance is achieved through $veToken denotation. $veToken represents the voting and staking custody of $Token. The escrowed $Token enters into a locked state on a monthly basis. The longer the lockup period, the more $veToken can be obtained. Different lockup periods lead to different amounts of $veToken, with a roughly linear increasing proportion. As the remaining lockup time decreases, $veToken gradually diminishes as well. Participants can also choose to set up automatic re-locking. In this scenario, the remaining lockup time of $Token remains fixed, and participants receive a fixed percentage of $veToken. Once automatic re-locking is canceled, the remaining lockup time of $Token will begin to decay again, and $veToken will decrease over the same time. Pledging $Token for voting is reversible but comes with costs, in order to prevent malicious voting attacks. Participants can increase their escrowed amount or extend the escrow duration at any time to earn more $veToken. Being escrowed for voting will also receive partial staking yields, where the percentage varies based on the importance of voting from time to time. In other words, $veToken is not tradable, but it has implicit value that could be reflected by the percentage of staking yield.
Overall, Cysic Network would be an innovative way to promote the development of ZKP technology and increase the adoption of zero-knowledge proof verification, most importantly ownership, governance, and diversification of the community. The network could provide a platform for provers to collaborate, share knowledge and expertise, and contribute to the advancement of various industries across global ecosystems.